package cn.it.shop.action;

import java.io.ByteArrayInputStream;
import java.sql.Timestamp;
import java.util.Date;
import java.util.HashMap;
import java.util.List;

import org.springframework.stereotype.Controller;

import cn.it.shop.model.Product;

@Controller("productAction")
public class ProductAction extends BaseAction<Product> {
	
	public String queryJoinCategory(){
		
        System.out.println("name:" + model.getName());  
        System.out.println("page：" + page);  
        System.out.println("rows：" + rows);  
		
		pageMap=new HashMap<String,Object>();
		
		List<Product> productList = productService.queryJoinCategory(model.getName(), page, rows);
		
		Long count = productService.getCount(model.getName());
		
		pageMap.put("rows", productList);
		pageMap.put("total", count);
		
		return "jsonMap";
		
	}
	
    public String deleteByIds() {  
        System.out.println(ids);  
        productService.deleteByIds(ids);  
        //如果删除成功就会往下执行，我们将"true"以流的形式传给前台  
        inputStream = new ByteArrayInputStream("true".getBytes());  
        return "stream";  
    }  
    
    
    public void save() throws Exception {  
        //fileUpload工具类被抽取了，uploadFile方法直接接受一个fileImage对象，返回新的图片名  
        String pic = fileUpload.uploadFile(fileImage);    
        model.setPic(pic);  
        model.setDate(new Timestamp(System.currentTimeMillis())); //设置一下当前时间，因为前台没有把时间字段传进来，这里自己设置一下即可  
        System.out.println(model);  
        //商品信息入库  
        productService.save(model);  
    }  
    
    public void update() throws Exception {  
        //处理上传的图片，下一篇博客专门分析struts2文件上传  
    	String pic = fileUpload.uploadFile(fileImage);  
    	
    	model.setPic(pic);
          
        model.setDate(new Timestamp(System.currentTimeMillis())); //设置一下当前时间，因为前台没有把时间字段传进来，这里自己设置一下即可  
        System.out.println(model);  
        //更新商品  
        productService.update(model);  
    }  
    
	public String get() {
		request.put("product", productService.get(model.getId()));
		return "detail";
	}
    
}  
